package com.hl.card.common.persistence.model;                             
                                                             
import java.util.Date;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;          
                                                             
/**                                                          
 * 信用卡                                                  
 * @author 袁伟                                             
 *                                                           
 */                                                          
public class CreditCard {                                       
	@Override
	public int hashCode() {
		  return Objects.hash(getM_code(), getAdd_time(),getIs_new(),getIs_active(),getExamine_time(),getActivation_time(),getConsume_time(),getCard_level(),getCard_product(),getCard_status(),getCustomer_status(),getLive_consume_time(),getTrack_code(),getApply_no(),getPhone());
	}

	@Override
	public boolean equals(Object obj) {
		   //自反性
        if (this == obj) return true;
        //任何对象不等于null，比较是否为同一类型
        if (!(obj instanceof CreditCard)) return false;
        //强制类型转换
        CreditCard o = (CreditCard) obj;
        //比较属性值
        return Objects.equals(getM_code(), o.getM_code()) &&
                Objects.equals(getAdd_time(), o.getAdd_time()) &&
                Objects.equals(getIs_new(), o.getIs_new()) &&
                Objects.equals(getIs_active(), o.getIs_active()) &&
                Objects.equals(getExamine_time(),o.getExamine_time()) &&
                Objects.equals(getActivation_time(), o.getActivation_time()) &&
                Objects.equals(getConsume_time(),o.getConsume_time()) &&
                Objects.equals(getCard_level(),o.getCard_level()) &&
                Objects.equals(getCard_product(),o.getCard_product()) &&
                Objects.equals(getCustomer_status(),o.getCustomer_status())&&
                Objects.equals(getCard_status(),o.getCard_status())&&
                Objects.equals(getLive_consume_time(),o.getLive_consume_time())&&
                Objects.equals(getTrack_code(),o.getTrack_code())&&
                Objects.equals(getApply_no(),o.getApply_no())&&
                Objects.equals(getPhone(),o.getPhone());
	}

	/**
 	*
 	*/
	private Integer id;
	
	private String card_no; //记录编号
	
	private String refer_reg_code; //上级推荐码
	
	public String getRefer_reg_code() {
		return refer_reg_code;
	}

	public void setRefer_reg_code(String refer_reg_code) {
		this.refer_reg_code = refer_reg_code;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	private Integer status; //状态 0已申请,待审核 1已审核,待激活 2已激活 3审核失败

	public String getCard_no() {
		return card_no;
	}

	public void setCard_no(String card_no) {
		this.card_no = card_no;
	}
	
	private String currentStatus; 
	
   

	public String getCurrentStatus() {
		return currentStatus;
	}

	public void setCurrentStatus(String currentStatus) {
		this.currentStatus = currentStatus;
	}

	/**
 	*营销代码
 	*/
	private String m_code;

	/**
 	*进件日期
 	*/
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date add_time;

	
	private String start_time;
	
	private String end_time;

	public String getStart_time() {
		return start_time;
	}

	public void setStart_time(String start_time) {
		this.start_time = start_time;
	}

	public String getEnd_time() {
		return end_time;
	}

	public void setEnd_time(String end_time) {
		this.end_time = end_time;
	}

	/**
 	*客户名称
 	*/
	private String customer_name;


	/**
 	*是否新户 0否1是
 	*/
	private Integer is_new;

	/**
 	*是否活户 0否1是
 	*/
	private Integer is_active;

	public Integer getIs_active() {
		return is_active;
	}

	public void setIs_active(Integer is_active) {
		this.is_active = is_active;
	}

	/**
 	*核卡日期
 	*/
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date examine_time;

	/**
 	*激活日期
 	*/
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date activation_time;

	/**
 	*首次消费日期
 	*/
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date consume_time;

	/**
 	*卡等级
 	*/
	private Integer card_level;

	/**
 	*卡产品
 	*/
	private String card_product;
	
	private String reward_remark;

	public String getReward_remark() {
		return reward_remark;
	}

	public void setReward_remark(String reward_remark) {
		this.reward_remark = reward_remark;
	}

	/**
 	*卡状态
 	*/
	private Integer card_status;

	/**
 	*客户状态
 	*/
	private Integer customer_status;

	/**
 	*最近一次消费日期
 	*/
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date live_consume_time;

	/**
 	*跟踪状态
 	*/
	private String track_code;

	/**
 	*申请编号
 	*/
	private String apply_no;

	/**
 	*手机号码
 	*/
	private String phone;

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date create_time;
    
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date update_time;
                                                             
	public Date getCreate_time() {
		return create_time;
	}

	public void setCreate_time(Date create_time) {
		this.create_time = create_time;
	}

	public Date getUpdate_time() {
		return update_time;
	}

	public void setUpdate_time(Date update_time) {
		this.update_time = update_time;
	}

	public void setId(Integer id){ 
		this.id = id;
	}

	public Integer getId(){ 
		return this.id;
	}

	public void setM_code(String m_code){ 
		this.m_code = m_code;
	}

	public String getM_code(){ 
		return this.m_code;
	}

	public void setAdd_time(Date add_time){ 
		this.add_time = add_time;
	}

	public Date getAdd_time(){ 
		return this.add_time;
	}

	public void setCustomer_name(String customer_name){ 
		this.customer_name = customer_name;
	}

	public String getCustomer_name(){ 
		return this.customer_name;
	}

	public void setIs_new(Integer is_new){ 
		this.is_new = is_new;
	}

	public Integer getIs_new(){ 
		return this.is_new;
	}

	public void setExamine_time(Date examine_time){ 
		this.examine_time = examine_time;
	}

	public Date getExamine_time(){ 
		return this.examine_time;
	}

	public void setActivation_time(Date activation_time){ 
		this.activation_time = activation_time;
	}

	public Date getActivation_time(){ 
		return this.activation_time;
	}

	public void setConsume_time(Date consume_time){ 
		this.consume_time = consume_time;
	}

	public Date getConsume_time(){ 
		return this.consume_time;
	}

	public void setCard_level(Integer card_level){ 
		this.card_level = card_level;
	}

	public Integer getCard_level(){ 
		return this.card_level;
	}

	public void setCard_product(String card_product){ 
		this.card_product = card_product;
	}

	public String getCard_product(){ 
		return this.card_product;
	}

	public void setCard_status(Integer card_status){ 
		this.card_status = card_status;
	}

	public Integer getCard_status(){ 
		return this.card_status;
	}

	public void setCustomer_status(Integer customer_status){ 
		this.customer_status = customer_status;
	}

	public Integer getCustomer_status(){ 
		return this.customer_status;
	}

	public void setLive_consume_time(Date live_consume_time){ 
		this.live_consume_time = live_consume_time;
	}

	public Date getLive_consume_time(){ 
		return this.live_consume_time;
	}

	public void setTrack_code(String track_code){ 
		this.track_code = track_code;
	}

	public String getTrack_code(){ 
		return this.track_code;
	}

	public void setApply_no(String apply_no){ 
		this.apply_no = apply_no;
	}

	public String getApply_no(){ 
		return this.apply_no;
	}

	public void setPhone(String phone){ 
		this.phone = phone;
	}

	public String getPhone(){ 
		return this.phone;
	}

                                              
}                                                            
